package com.itheima.reader;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class prac {
    public static void main(String[] args) throws IOException {

        //拷贝一个文件夹，要考虑子文件夹
        File src = new File("E:\\cdj\\aaa\\src");
        File dest = new File("E:\\cdj\\aaa\\dest");
       copydir(src,dest);

    }

    //实现一个方法，将文件夹中的内容进行获取
    private static void copydir(File src,File dest) throws IOException {
        //对于要存储旧数据的文件夹，如果不存在就进行创建
        dest.mkdirs();

        //遍历当前文件夹，并判断文件夹中的内容
        File[] files = src.listFiles();
        for (File file : files) {
            //如果当前file是文件，读出再写入
            if(file.isFile())
            {
                //如果当前属于文件，就要实现文件的写入
                FileInputStream fis = new FileInputStream(file);
                FileOutputStream fos = new FileOutputStream(new File(dest, file.getName()));
                byte[] bytes=new byte[1024];
                int len;
                while ((len=fis.read(bytes))!=-1)
                {
                    fos.write(bytes,0,len);
                }
                fos.close();
                fis.close();
            }
            else//如果不是文件，是文件夹，要递归
            {
                copydir(file,new File(dest,file.getName()));
            }
        }
    }

}
